package stu.aistar.util;

/**
 * 数组工具类
 */
public class ArrayUtil {
    public static void main(String[] args) {
        int[] arr = {3,4,3,5,6,7,1,2,3,5};
        int[] newArr = delByTarget(arr,3);
        for (int i = 0; i < newArr.length; i++) {
            System.out.print(newArr[i]+"\t");
        }

    }

    public static int[] delByTarget(int[] arr,int target){
        //确定一个新数组的关键 - 数组的元素类型/数组的长度

        //定义计数器
        int count = 0;
        //先确定新数组的长度
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == target){
                count++;
            }
        }
        //判断target是否存在
        if (count == 0){
            return null;
        }

        //确定新数组长度
        int[] temp = new int[arr.length-count];

        //数组在内存中空间是连续的,下标保证连续性.
        //定义一个下标计数器 - 记住新的数组的下标
        int pos = 0;
        //遍历原数组
        for (int j = 0; j < arr.length; j++) {
            if (arr[j]!=target){
                temp[pos] = arr[j];
                pos++;
            }
        }
        return temp;
    }
}
